bbl loader の表示を抑制したい
Proxy Kernel が bbl loader なる出力を行うせいで、MinCaml の実行結果を OCaml と比較するところで差異が発生してしまっていた。
code:sh
$ make clean test/fib
$ spike /opt/riscv/pk/riscv32-unknown-elf/bin/pk test/fib
bbl loader ← kore!!!
sp = 0x7ff0bb40, hp = 0x31c80
55
以下の対応を行うことで差異が発生しなくて幸せになった
bbl loader は出力しない
riscv-pk ディレクトリへ移動し以下の bbl loader の表示抑制の修正を行い再インストールを行った。
code:diff
diff --git a/machine/minit.c b/machine/minit.c
index e6677e9..0b4f9e0 100644
--- a/machine/minit.c
+++ b/machine/minit.c
@@ -191,7 +191,8 @@ void init_first_hart(uintptr_t hartid, uintptr_t dtb)
query_uart16550(dtb);
query_uart_litex(dtb);
query_htif(dtb);
- printm("bbl loader\r\n");
+ // 邪魔なので消したい
+ // printm("bbl loader\r\n");
hart_init();
hls_init(0); // this might get called again from parse_config_string
上記の変更を行なってから再インストールを行う
code:sh
cd ~/src/riscv-pk/build
make clean
make
make install
spとhpの値を出力しない
spとhpの値の出力も邪魔だったので同様に削除した。
code:diff
diff --git a/Makefile b/Makefile
index 0940af3..bf14146 100644
--- a/Makefile
+++ b/Makefile
@@ -46,7 +46,7 @@ test/%.s: $(RESULT) test/%.ml
test/%: test/%.s libmincaml.S stub.c
$(TGT_CC) $(CFLAGS) $^ -lm -o $@
test/%.res: test/%
- spike /opt/riscv/pk/riscv32-unknown-elf/bin/pk $< | grep -v "bbl loader" | grep -v "sp =" > $@
+ spike /opt/riscv/pk/riscv32-unknown-elf/bin/pk $< > $@
test/%.ans: test/%.ml
ocaml $< > $@
test/%.cmp: test/%.res test/%.ans
diff --git a/stub.c b/stub.c
index d6700ca..1648df9 100644
--- a/stub.c
+++ b/stub.c
@@ -25,7 +25,7 @@ int main( int argc, char *argv[] ) {
// }
// fp = fopen(argv1, "r"); - fprintf(stderr, "sp = %p, hp = %p\n", sp, hp);
+ // fprintf(stderr, "sp = %p, hp = %p\n", sp, hp);
min_caml_start(sp, hp);
// fclose(fp);
余計な表示が減ってスッキリした出力結果。
code:sh
$ spike /opt/riscv/pk/riscv32-unknown-elf/bin/pk test/fib
832040